home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swagg_m.zip / GRAPHICS.SWG / 0067_Mode 13 Demo.pas < prev    next >
Pascal/Delphi Source File  |  1994-01-27  |  1KB  |  44 lines

  1. PROGRAM Mode13Demo;             { Oct 10/93, Greg Estabrooks.       }
  2. VAR
  3.    CurCol,
  4.    OldMode:BYTE;
  5.    CurPos,
  6.    X,Y :WORD;
  7.    ScrBuff :ARRAY[1..64000] OF BYTE;
  8.  
  9. PROCEDURE SetVidMode( Mode :BYTE ); ASSEMBLER;
  10.                 {  Routine to set video mode                        }
  11. ASM
  12.   Mov AH,00                     {  Function to set mode             }
  13.   Mov AL,Mode                   {  Mode to change to                }
  14.   Int $10                       {  Call dos                         }
  15. END;{SetVidMode}
  16.  
  17. PROCEDURE PutPixel( X,Y :WORD; Color :BYTE );
  18. BEGIN
  19.   Mem[$A000:(320*Y)+X]:= Color;
  20. END;
  21.  
  22. BEGIN
  23.   SetVidMode($13);              { Set Mode to 320x200x256.          }
  24.   FOR Y := 0 To 199 DO          { Loop through all lines.           }
  25.     FOR X := 0 To 319 DO        { Loop through all columns.         }
  26.         PutPixel(X,Y,Random(255));
  27.   CurCol := 0;
  28.   CurPos := 0;
  29.   FOR Y := 0 To 199 DO          { Loop through all lines.           }
  30.    BEGIN
  31.     Inc(CurCol);
  32.     FOR X := 0 To 319 DO        { Loop through all columns.         }
  33.      BEGIN
  34.        Inc(CurPos);
  35.        ScrBuff[CurPos] := CurCol;
  36.      END;
  37.    END;
  38.   Writeln('Press Enter to see the Faster way!');
  39.   Readln;
  40.   Move(ScrBuff,Mem[$A000:0],SizeOf(ScrBuff));
  41.   Readln;
  42.   SetVidMode(3);                { Set Mode 3,80x25.                 }
  43. END.
  44.